## Provide a k8s version to auto dashboard import script example: kubeTargetVersionOverride: 1.16.6
kubeTargetVersionOverride: "{{ K8S_VER }}"

alertmanager:
  enabled: true
  #config:
  #  route:
  #    receiver: dingtalk
  #  receivers:
  #  - name: dingtalk
  #    webhook_configs:
  #    - send_resolved: false
  #      url: http://webhook-dingtalk.monitor.svc.cluster.local:8060/dingtalk/webhook1/send
  alertmanagerSpec:
    image:
      repository: easzlab.io.local:5000/prometheus/alertmanager

  ## Configuration for Alertmanager service
  service:
    nodePort: 30902
    type: NodePort 

## Using default values from https://github.com/grafana/helm-charts/blob/main/charts/grafana/values.yaml
grafana:
  enabled: true
  adminPassword: Admin1234!
  image:
    repository: easzlab.io.local:5000/prometheus/grafana
  service:
    nodePort: 30903
    type: NodePort
  sidecar:
    image:
      repository: easzlab.io.local:5000/prometheus/k8s-sidecar
    skipTlsVerify: true

## Component scraping the kube api server
kubeApiServer:
  enabled: true

## Component scraping the kubelet and kubelet-hosted cAdvisor
kubelet:
  enabled: true

## Component scraping the kube controller manager
kubeControllerManager:
  enabled: true
  endpoints:
{% for h in groups['kube_master'] %}
  - {{ h }}
{% endfor %}
  service:
    port: 10257
    targetPort: 10257
  serviceMonitor:
    https: true
    insecureSkipVerify: true
    serverName: localhost

## Component scraping coreDns. Use either this or kubeDns
coreDns:
  enabled: true

## Component scraping etcd
kubeEtcd:
  enabled: true
  endpoints:
{% for h in groups['etcd'] %}
  - {{ h }}
{% endfor %}
  serviceMonitor:
    scheme: https
    insecureSkipVerify: true 
    serverName: localhost
    caFile: /etc/prometheus/secrets/etcd-client-cert/etcd-ca
    certFile: /etc/prometheus/secrets/etcd-client-cert/etcd-client
    keyFile: /etc/prometheus/secrets/etcd-client-cert/etcd-client-key


## Component scraping kube scheduler
kubeScheduler:
  enabled: true
  endpoints:
{% for h in groups['kube_master'] %}
  - {{ h }}
{% endfor %}
  service:
    port: 10259
    targetPort: 10259
  serviceMonitor:
    https: true
    insecureSkipVerify: true

## Component scraping kube proxy
kubeProxy:
  enabled: true
  endpoints:
{% for h in groups['kube_master'] %}
  - {{ h }}
{% endfor %}
{% for h in groups['kube_node'] %}
{% if h not in groups['kube_master'] %}
  - {{ h }}
{% endif %}
{% endfor %}

## Configuration for kube-state-metrics subchart
kube-state-metrics:
  image:
    repository: easzlab.io.local:5000/prometheus/kube-state-metrics

## Manages Prometheus and Alertmanager components
prometheusOperator:
  enabled: true
  admissionWebhooks:
    enabled: true
    patch:
      image:
        repository: easzlab.io.local:5000/prometheus/kube-webhook-certgen
  image:
    repository: easzlab.io.local:5000/prometheus/prometheus-operator
  service:
    nodePort: 30899
    nodePortTls: 30900
    type: NodePort
  prometheusConfigReloader:
    image:
      repository: easzlab.io.local:5000/prometheus/prometheus-config-reloader

## Deploy a Prometheus instance
prometheus:
  enabled: true

  ## Configuration for Prometheus service
  service:
    nodePort: 30901
    type: NodePort 

  prometheusSpec:
    image:
      repository: easzlab.io.local:5000/prometheus/prometheus
    replicas: 1

    secrets:
    - etcd-client-cert

    storageSpec: {}
    ## Using PersistentVolumeClaim
    ##
    #  volumeClaimTemplate:
    #    spec:
    #      storageClassName: gluster
    #      accessModes: ["ReadWriteOnce"]
    #      resources:
    #        requests:
    #          storage: 50Gi
    #    selector: {}

    ## Using tmpfs volume
    ##
    #  emptyDir:
    #    medium: Memory

prometheus-node-exporter:
  image:
    repository: easzlab.io.local:5000/prometheus/node-exporter
